Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
React-native (expo) - "Unhandled Rejection (TypeError): Failed to fetch" when using POST in fetch

My team is developing a login/register DB system. According to some guides, it's usually used a combination of props (to set states) and a fetch with POST.

login.js

export default class App extends Component {
    state = {
      usuario: '',
      setUsuario: '',
      senha: '',
      setSenha: ''
    }

  async sendForm() {
    let response = await fetch('http://{My NAT IP}:3000/login', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        usuario: '',
        senha: ''
      })
    })};

    render() {
      return(
        <View style = { styles.container } >
          <Text style={styles.titulo}>
            BOM DENTE
          </Text>

          <Image
            style={styles.logo}
            source={require('../assets/icon.png')}
          />

          <TextInput
            style={styles.input}
            placeholder="Nome de usuário"
            onChangeText={text => this.state.setUsuario}
          />

          <TextInput
            style={styles.input}
            secureTextEntry={true}
            placeholder="Senha"
            onChangeText={text => this.state.setSenha}
          />

          <TouchableOpacity
            style={styles.botao}
            onPress={() => this.sendForm()}
          >
            <Text style={styles.botaoText}>
              LOGIN
            </Text>
          </TouchableOpacity>
        </View >
      )
  }
}

Controller.js

const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const models = require('./models');

const app = express();
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())

let user = models.Usuario;

app.post('/login', (req, res) => {
    console.log(req.body)
})

let port = process.env.PORT || 3000;
app.listen(port, (req, res) => {
    console.log("Servidor operacional");
})

P.S.: According to this video, expo requires the NAT IP in the fetch instead of localhost.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda